cf4520adddb70d9788d4109c059436f2339f2dfd,framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java,HtmlFormRenderer,renderSortField,#Appendable#Map#ModelFormField#String#,2480
Before Change
writer.append(" href=\"");
if (ajaxEnabled) {
writer.append("javascript:ajaxUpdateAreas('" + createAjaxParamsFromUpdateAreas(updateAreas, prepLinkText, context) + "')");
} else {
writer.append(rh.makeLink(this.request, this.response, urlPath + prepLinkText));
}
After Change
appendWhitespace(writer);
}
public void renderSortField(Appendable writer, Map<String, Object> context, ModelFormField modelFormField, String titleText) throws IOException {
boolean ajaxEnabled = false;
ModelForm modelForm = modelFormField.getModelForm();
List<ModelForm.UpdateArea> updateAreas = modelForm.getOnPaginateUpdateAreas();
String targetService = modelForm.getPaginateTarget(context);
if (this.javaScriptEnabled) {
if (UtilValidate.isNotEmpty(updateAreas)) {
ajaxEnabled = true;
}
}
if (targetService == null) {
targetService = "${targetService}";
}
if (UtilValidate.isEmpty(targetService) && updateAreas == null) {
Debug.logWarning("Cannot sort because TargetService is empty for the form: " + modelForm.getName(), module);
return;
}
String str = (String) context.get("_QBESTRING_");
String oldSortField = modelForm.getSortField(context);
String sortFieldStyle = modelFormField.getSortFieldStyle();
// if the entry-name is defined use this instead of field name
String columnField = modelFormField.getEntryName();
if (UtilValidate.isEmpty(columnField)) {
columnField = modelFormField.getFieldName();
}
// switch beetween asc/desc order
String newSortField = columnField;
if (UtilValidate.isNotEmpty(oldSortField)) {
if (oldSortField.equals(columnField)) {
newSortField = "-" + columnField;
sortFieldStyle = modelFormField.getSortFieldStyleDesc();
} else if (oldSortField.equals("-" + columnField)) {
newSortField = columnField;
sortFieldStyle = modelFormField.getSortFieldStyleAsc();
}
}
// strip sortField param from the query string
HashSet<String> paramName = new HashSet<String>();
paramName.add("sortField");
String queryString = UtilHttp.stripNamedParamsFromQueryString(str, paramName);
String urlPath = UtilHttp.removeQueryStringFromTarget(targetService);
String prepLinkText = UtilHttp.getQueryStringFromTarget(targetService);
if (prepLinkText == null) {
prepLinkText = "";
}
if (prepLinkText.indexOf("?") < 0) {
prepLinkText += "?";
} else if (!prepLinkText.endsWith("?")) {
prepLinkText += "&";
}
if (!UtilValidate.isEmpty(queryString) && !queryString.equals("null")) {
prepLinkText += queryString + "&";
}
prepLinkText += "sortField" + "=" + newSortField;
if (ajaxEnabled) {
prepLinkText = prepLinkText.replace("?", "");
prepLinkText = prepLinkText.replace("&", "&");
}
writer.append("<a");
if (UtilValidate.isNotEmpty(sortFieldStyle)) {
writer.append(" class=\"");
writer.append(sortFieldStyle);
writer.append("\"");
}
writer.append(" href=\"");
if (ajaxEnabled) {
writer.append("javascript:ajaxUpdateAreas('").append(createAjaxParamsFromUpdateAreas(updateAreas, prepLinkText, context)).append("')");
} else {
writer.append(rh.makeLink(this.request, this.response, urlPath + prepLinkText));
}